import torch, torch.nn as nn
from ..builder import HEADS


@HEADS.register_module()
class GaussianInit():
    def __init__(
        self,
    ):
        super().__init__()
       

    def init_weight(self):
        pass

    def forward(self, points, img_features, **kwargs):
        """_summary_

        Args:
            points (_type_): _description_
            img_features (_type_): _description_
        """
        # initialize gaussian centers from points centers (x,y,z)
        
        # calculate surface normals from points
        
        
        # calculate rotation /quarternion from surface normals
        
        # find point density and assign scale? 
        
        
        # use point intensity to assign opacity?
        
        
        # create 3DGaussians with blobs 
        
        
        # merge 3D voxel grid features from imgs with 3D gaussians to import image features
        
        
        # return bunch of 3D gaussians 
        
        return 